#include <stdlib.h>

#ifndef __CALLBACK_MEM_H
#define __CALLBACK_MEM_H

#include "icmp.h"

typedef enum {CALLBACK_MEM_OK, CALLBACK_MEM_ERR, CALLBACK_MEM_FULL} CALLBACK_MEM_ERRCODE;
  
typedef struct __callbackMem *CALLBACK_MEM;

CALLBACK_MEM createCallbackMem();
void freeCallbackMem(CALLBACK_MEM callMem);
CALLBACK_MEM_ERRCODE registerCallback(CALLBACK_MEM callMem, unsigned int id, pf_notificacion_echo function);
pf_notificacion_echo getCallback(CALLBACK_MEM callMem, unsigned int id);
int findCallback(CALLBACK_MEM callMem, unsigned int id);

#endif
